package com.weixing.mall.provider.model.query;

import com.weixing.mall.base.enums.IsEnableEnum;
import com.weixing.mall.base.enums.WhetherEnum;
import com.weixing.mall.provider.api.model.enums.AgentLevelEnum;
import com.weixing.mall.provider.api.model.enums.AgentTypeEnum;
import com.weixing.mall.provider.api.model.enums.IsActiveEnum;
import com.weixing.mall.provider.api.model.enums.IsOfficialEnum;
import lombok.Data;

/**
 * AgentQuery
 * @author  siashan
 * @since 1.0
 */
@Data
public class AgentQuery {
    /**
     * 代理商姓名
     */
    private String agentName;

    /**
     * 代理手机号
     */
    private String mobile;

    /**
     * 登录名
     */
    private String loginName;

    /**
     * 微信号
     */
    private String wechatNum;
    /**
     * 代理状态
     */
    private IsEnableEnum isEnable;
    /**
     * 是否活跃
     */
    private IsActiveEnum isActive;
    /**
     * 是否正式
     *
     * @apiNote 如果用于领导看板查询团队数量时，传递1 取值 正式
     */
    private IsOfficialEnum isOfficial;
    /**
     * 等级
     */
    private AgentLevelEnum agentLevel;
    /**
     * 代理类型
     */
    private AgentTypeEnum agentType;
    /**
     * 开户开始时间
     */
    private String startTime;
    /**
     * 开户结束时间
     */
    private String endTime;
    /**
     * 开户生效开始时间
     */
    private String effectiveStartTime;
    /**
     * 开户生效结束时间
     */
    private String effectiveEndTime;

    /**
     * 客服id
     */
    private Long customerId;

    /**
     * 备注
     */
    private String remark;

    /**
     * 代理id
     */
    private Long agentId;

    /**
     * 代理优惠码
     */
    private String agentSn;

    private WhetherEnum ascOrder = WhetherEnum.YES;


    /**
     * 是否用于树结构
     *
     *  @apiNote 如果用于查看树结构，传递1
     */
    private IsEnableEnum forTree;
    /**
     * 查询来源
     */
    private IsEnableEnum searchFrom = IsEnableEnum.DISABLE;

    /**
     * 是否过期  1 未过期  2 过期
     */
    private Integer isExpired;

    /**
     * 是否黑名单  0 否  1 是
     */
    private Integer isBlack;


    /**
     * 查询代理团队（默认0）   0 否  1 是
     *
     * @apiNote 如果用于领导看板查询团队数量时，传递1
     */
     private Integer findForTeam = 0;
}
